using System;
using System.Collections;
using System.Collections.Generic;

using NHibernate.Data.Base;

namespace NHibernate.Data.Models
{
    public partial class Region : BusinessBase<long>
    {
        #region Declarations

		
		private long _climate = default(Int64);
		private long _introduction = default(Int64);
		private long _localName = default(Int64);
		private long _originCountry = default(Int64);
		private long _parentRegion = default(Int64);
		private string _internationalName = String.Empty;
		private decimal _longitude = default(Decimal);
		private decimal _latitude = default(Decimal);
		
		
		
        #endregion

        #region Constructors

        public Region() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_climate);
			sb.Append(_introduction);
			sb.Append(_localName);
			sb.Append(_originCountry);
			sb.Append(_parentRegion);
			sb.Append(_internationalName);
			sb.Append(_longitude);
			sb.Append(_latitude);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual long Climate
        {
            get { return _climate; }
			set
			{
				OnClimateChanging();
				_climate = value;
				OnClimateChanged();
			}
        }
		partial void OnClimateChanging();
		partial void OnClimateChanged();
		
		public virtual long Introduction
        {
            get { return _introduction; }
			set
			{
				OnIntroductionChanging();
				_introduction = value;
				OnIntroductionChanged();
			}
        }
		partial void OnIntroductionChanging();
		partial void OnIntroductionChanged();
		
		public virtual long LocalName
        {
            get { return _localName; }
			set
			{
				OnLocalNameChanging();
				_localName = value;
				OnLocalNameChanged();
			}
        }
		partial void OnLocalNameChanging();
		partial void OnLocalNameChanged();
		
		public virtual long OriginCountry
        {
            get { return _originCountry; }
			set
			{
				OnOriginCountryChanging();
				_originCountry = value;
				OnOriginCountryChanged();
			}
        }
		partial void OnOriginCountryChanging();
		partial void OnOriginCountryChanged();
		
		public virtual long ParentRegion
        {
            get { return _parentRegion; }
			set
			{
				OnParentRegionChanging();
				_parentRegion = value;
				OnParentRegionChanged();
			}
        }
		partial void OnParentRegionChanging();
		partial void OnParentRegionChanged();
		
		public virtual string InternationalName
        {
            get { return _internationalName; }
			set
			{
				OnInternationalNameChanging();
				_internationalName = value;
				OnInternationalNameChanged();
			}
        }
		partial void OnInternationalNameChanging();
		partial void OnInternationalNameChanged();
		
		public virtual decimal Longitude
        {
            get { return _longitude; }
			set
			{
				OnLongitudeChanging();
				_longitude = value;
				OnLongitudeChanged();
			}
        }
		partial void OnLongitudeChanging();
		partial void OnLongitudeChanged();
		
		public virtual decimal Latitude
        {
            get { return _latitude; }
			set
			{
				OnLatitudeChanging();
				_latitude = value;
				OnLatitudeChanged();
			}
        }
		partial void OnLatitudeChanging();
		partial void OnLatitudeChanged();
		
        #endregion
    }
}
